Algorithmic self-assembly, a generalization of crystal growth processes, hasbeen proposed as a mechanism for autonomous DNA computation and for bottom-upfabrication of complex nanostructures. A `program' for growing a desiredstructure consists of a set of molecular `tiles' designed to have specificbinding interactions. A key challenge to making algorithmic self-assemblypractical is designing tile set programs that make assembly robust to errorsthat occur during initiation and growth. One method for the controlledinitiation of assembly, often seen in biology, is the use of a seed or catalystmolecule that reduces an otherwise large kinetic barrier to nucleation. Here weshow how to program algorithmic self-assembly similarly, such that seededassembly proceeds quickly but there is an arbitrarily large kinetic barrier tounseeded growth. We demonstrate this technique by introducing a family of tilesets for which we rigorously prove that, under the right physical conditions,linearly increasing the size of the tile set exponentially reduces the rate ofspurious nucleation. Simulations of these `zig-zag' tile sets suggest thatunder plausible experimental conditions, it is possible to grow large seededcrystals in just a few hours such that less than 1 percent of crystals arespuriously nucleated. Simulation results also suggest that zig-zag tile setscould be used for detection of single DNA strands. Together with prior workshowing that tile sets can be made robust to errors during properly initiatedgrowth, this work demonstrates that growth of objects via algorithmicself-assembly can proceed both efficiently and with an arbitrarily low errorrate, even in a model where local growth rules are probabilistic.
展开▼